Exception-Less System Calls for Event-Driven Servers

نویسندگان

  • Livio Soares
  • Michael Stumm
چکیده

Event-driven architectures are currently a popular design choice for scalable, high-performance server applications. For this reason, operating systems have invested in efficiently supporting non-blocking and asynchronous I/O, as well as scalable event-based notification systems. We propose the use of exception-less system calls as the main operating system mechanism to construct highperformance event-driven server applications. Exceptionless system calls have four main advantages over traditional operating system support for event-driven programs: (1) any system call can be invoked asynchronously, even system calls that are not file descriptor based, (2) support in the operating system kernel is nonintrusive as code changes are not required for each system call, (3) processor efficiency is increased since mode switches are mostly avoided when issuing or executing asynchronous operations, and (4) enabling multi-core execution for event-driven programs is easier, given that a single user-mode execution context can generate enough requests to keep multiple processors/cores busy with kernel execution. We present libflexsc, an asynchronous system call and notification library suitable for building event-driven applications. Libflexsc makes use of exception-less system calls through our Linux kernel implementation, FlexSC. We describe the port of two popular event-driven servers, memcached and nginx, to libflexsc. We show that exception-less system calls increase the throughput of memcached by up to 35% and nginx by up to 120% as a result of improved processor efficiency.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

FlexSC: Flexible System Call Scheduling with Exception-Less System Calls

For the past 30+ years, system calls have been the de facto interface used by applications to request services from the operating system kernel. System calls have almost universally been implemented as a synchronous mechanism, where a special processor instruction is used to yield userspace execution to the kernel. In the first part of this paper, we evaluate the performance impact of tradition...

متن کامل

Safe at Any Speed: Fast, Safe Parallelism in Servers

Many applications take advantage of parallelism to increase performance. Servers are a particularly common case as they must multiplex resources across many simultaneous users. Unfortunately, writing concurrent applications is difficult and prone to subtle and non-deterministic bugs that are difficult to reproduce. We advocate an approach to developing concurrent programs that is safe by defaul...

متن کامل

Event-driven and Attribute-driven Robustness

Over five decades have passed since the first wave of robust optimization studies conducted by Soyster and Falk. It is outstanding that real-life applications of robust optimization are still swept aside; there is much more potential for investigating the exact nature of uncertainties to obtain intelligent robust models. For this purpose, in this study, we investigate a more refined description...

متن کامل

Virtual Threads

Multithreaded servers, while relatively simple to design and to implement, tend not to scale well for large numbers of concurrent users. Event-driven servers, which do scale well, are generally more difficult to design, write, and debug than multithreaded servers. Virtual Threads is a new server programming model in which the programmer writes a multithreaded server and a preprocessor automatic...

متن کامل

Scalable Kernel Performance for Internet Servers Under Realistic Loads

UNIX Internet servers with an event-driven architecture often perform poorly under real workloads, even if they perform well under laboratory benchmarking conditions. We investigated the poor performance of eventdriven servers. We found that the delays typical in widearea networks cause busy servers to manage a large number of simultaneous connections. We also observed that the select system ca...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2011